The font modifications and graphics processing currently required to generate page documents from a repertoire of characters and images for printing on laser printers or any raster-oriented device represent a large computational load, the processing of which limits the performance of laser printers. A part of the problem of font character and image processing is maintaining typographic quality of the fonts during font scaling and rotation as related to the limited finite resolution (typically 300 dots per inch) of the laser printer, which results in a very slow page printing rate.
For instance, in a one mip processor and a 300-dot per inch output, previous real-time scaling and rotation systems typically provide a maximum of ten characters per second. by contrast, a currently available, medium-speed printer (20 pages per minute) printing 3000 character pages at full engine speed requires 1000 characters per second, a difference of two orders of magnitude. Furthermore, for higher resolution printers, this problem is further aggravated, accordingly. The difference of two orders of magnitude between the availability of characters from the font and graphics processors as compared to the capability of printers will further worsen as printer speed increases. Moreover, the problem is further exacerbated by higher resolutions and color printing. Aside from brute force approaches which suggest the implementation of multiple parallel signal processors, whose improved performance is directly related to the number of processors, the font and graphics processor cannot provide today the necessary data output nor are likely to attain the necessary performance while maintaining print quality in the future.
The particular process of the prior art font and graphic image processors retrieves an image signal from a source of font characters or graphic images wherein the image is described by arcs, lines or other control points which serve to describe the outline of the image. The resulting data from the source is transformed in full precision to control points related to a new coordinate system, wherein the image is rotated and scaled accordingly. Subsequently, the transform is "corrected" for misalignment to the lowest quantized value of the new coordinate system, wherein the boundaries are rounded either up or down. Furthermore, the corrected transformed signal is adjusted (according to hints included with the arcs and lines at the image source) to eliminate image distortions due to the grid correction. Next, the corrected transformed signal is converted to a sequence of points occurring at periodic intervals along the outline of the image. Subsequently, the image outline is selectively filled with points to provide a solid representation of the image or font character, and the resulting filled outline of the image is processed by a raster operator, which produces a stream of data, which when received by a printer, such as a laser printer, provides the desired image or font character. The image or font character produced on the laser printer according to this known process is a rotated and scaled representation of the image provided the source.
The above-mentioned graphic processing of font scaling and rotation is typically provided by "intelligent" printer controllers which incorporate microprocessor subsystems therein. However, computation such as distortion correction is difficult and computational intensive, requiring storage of additional information (the "hints") with each character. The conversion and correction of the transformed control points also requires significant computational power and time. Moreover, to create a solid image, processing speed is further hindered as by the image filling operations which require sorting of the outline points or employ other computably intensive operations. Therefore, the speed of the laser printer is severely limited by the speed of the image processing, and the speed of the image processing is limited by several interrelated factors, each of which, by present techniques, cannot be improved without adversely affecting another.